package com.cqw.commontest.thread.unit2;

import lombok.SneakyThrows;

import java.util.concurrent.TimeUnit;

/**
 * @Author: caoqingwen
 * @CreateTime: 2021-06-04 16:03
 * @Description: 守护线程
 */
public class Test4 {


    /**
     * 一般线程，main方法执行完之后还是会执行，会打印出123
     * 守护线程：main方法执行完之后，守护线程也会销毁，不会在执行
     *
     * 例：游戏程序，需要不断的刷新玩家的积分，金币，但是等玩家退出登录，就不能再刷新了，可以用到守护线程
     *
     */



    public static void main(String[] args) throws InterruptedException {

        Thread thread = new Thread(new Runnable() {
            @SneakyThrows
            @Override
            public void run() {
                while (true){
                    System.out.println("123");
                    TimeUnit.SECONDS.sleep(1L);
                }
            }
        });
        //设置当前线程为守护线程
        //thread.setDaemon(true);

        thread.start();

        TimeUnit.SECONDS.sleep(3L);
        System.out.println("Main方法执行结束");
    }


}
